package com.mjz.gui;

import javax.swing.*;
import java.awt.*;
import java.util.Objects;

// 管理员∶修改密码，实现“退课”操作，管理班级，管理课程，管理教师
// 学生︰登录，修改密码，自己的选课、修改选课、退课操作
// 教师:登录，修改密码，管理学生，管理班级，管理课程，管理选课，打分

public class MainFrame {
    private final JDesktopPane desktopPane;

    public MainFrame(String userType) {

        // 创建主界面窗口
        JFrame mainFrame = new JFrame("学生选课系统主界面");
        mainFrame.setSize(800, 600);
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mainFrame.setLocationRelativeTo(null);
        desktopPane = new JDesktopPane();
        mainFrame.add(desktopPane, BorderLayout.CENTER);

        // 创建菜单栏
        JMenuBar menuBar = new JMenuBar();

        // 添加原有菜单项
        menuBar.add(new JMenu("系统管理"));
        menuBar.add(new JMenu("学生管理"));
        menuBar.add(new JMenu("班级管理"));
        menuBar.add(new JMenu("教师管理"));

        JMenu courseManageMenu = new JMenu("课程管理");
        JMenu selectCourseMenu = new JMenu("选课管理");
        menuBar.add(courseManageMenu);
        menuBar.add(selectCourseMenu);

        menuBar.add(new JMenu("帮助"));

        if (Objects.equals(userType, "管理员") || Objects.equals(userType, "学生")) {
            JMenuItem selectCourseMenuItem = new JMenuItem("选课退课");
            selectCourseMenu.add(selectCourseMenuItem);

            selectCourseMenuItem.addActionListener(e -> {
                CourseSelectFrame courseSelectFrame = new CourseSelectFrame(desktopPane);
                desktopPane.add(courseSelectFrame);
                courseSelectFrame.setVisible(true);
            });
        }

        if (Objects.equals(userType, "管理员") || Objects.equals(userType, "教师")) {
            JMenuItem manageCourseMenuItem = new JMenuItem("管理课程");
            courseManageMenu.add(manageCourseMenuItem);

            manageCourseMenuItem.addActionListener(e -> {
                CourseManageFrame courseManageFrame = new CourseManageFrame(desktopPane);
                desktopPane.add(courseManageFrame);
                courseManageFrame.setVisible(true);
            });
        }

        mainFrame.setJMenuBar(menuBar); // 添加菜单栏到框架
        mainFrame.setVisible(true); // 显示主界面窗口
    }
}